import request from '@/utils/request';

/**
 * 获取当前用户信息
 * @returns {Promise} - 包含用户信息的Promise对象
 */
export function getUserInfo() {
  return request({
    url: '/user/info',
    method: 'GET'
  });
}

/**
 * 更新用户信息
 * @param {Number} id - 用户ID
 * @param {Object} userBean - 用户信息对象
 * @returns {Promise} - 包含更新结果的Promise对象
 */
export function updateUser(id, userBean) {
  return request({
    url: `/user/${id}`,
    method: 'PUT',
    data: userBean
  });
}

/**
 * 解密微信手机号（已废弃）
 * @param {String} code - 登录code
 * @param {String} encryptedData - 加密数据
 * @param {String} iv - 加密算法的初始向量
 * @returns {Promise} - 包含解密结果的Promise对象
 */
export function decryptPhoneNumber(code, encryptedData, iv) {
  return request({
    url: '/wechat/getPhoneNumberOld',
    method: 'POST',
    data: {
      code,
      encryptedData,
      iv
    }
  });
}

/**
 * 分页查询积分记录
 * @param {Object} params - 查询参数
 * @param {Number} params.pageNo - 页码
 * @param {Number} params.pageSize - 每页大小
 * @param {Number} params.type - 类型：1-获得，2-消费
 * @param {String} params.source - 来源：order-订单，exchange-兑换，sign-签到
 * @returns {Promise} - 包含积分记录分页数据的Promise对象
 */
export function getPointsRecordPage(params) {
  return request({
    url: '/pointsRecord/getPointsRecordPage',
    method: 'POST',
    data: params
  });
}